@inherits _BaseDataGridCellEdit
@if ( ValueType == typeof( decimal ) )
{
    <NumericEdit TValue="decimal" Value="@((decimal)CellEditContext.CellValue)" ValueChanged="@(( v ) => OnEditValueChanged(v))" ReadOnly="@Readonly" />
}
else if ( ValueType == typeof( decimal? ) )
{
    <NumericEdit TValue="decimal?" Value="@((decimal?)CellEditContext.CellValue)" ValueChanged="@(( v ) => OnEditValueChanged(v))" ReadOnly="@Readonly" />
}
else if ( ValueType == typeof( double ) )
{
    <NumericEdit TValue="double" Value="@((double)CellEditContext.CellValue)" ValueChanged="@(( v ) => OnEditValueChanged(v))" ReadOnly="@Readonly" />
}
else if ( ValueType == typeof( double? ) )
{
    <NumericEdit TValue="double?" Value="@(( double?)CellEditContext.CellValue)" ValueChanged="@(( v ) => OnEditValueChanged(v))" ReadOnly="@Readonly" />
}
else if ( ValueType == typeof( float ) )
{
    <NumericEdit TValue="float" Value="@((float)CellEditContext.CellValue)" ValueChanged="@(( v ) => OnEditValueChanged(v))" ReadOnly="@Readonly" />
}
else if ( ValueType == typeof( float? ) )
{
    <NumericEdit TValue="float?" Value="@((float?)CellEditContext.CellValue)" ValueChanged="@(( v ) => OnEditValueChanged(v))" ReadOnly="@Readonly" />
}
else if ( ValueType == typeof( int ) )
{
    <NumericEdit TValue="int" Value="@((int)CellEditContext.CellValue)" ValueChanged="@(( v ) => OnEditValueChanged(v))" ReadOnly="@Readonly" />
}
else if ( ValueType == typeof( int? ) )
{
    <NumericEdit TValue="int?" Value="@((int?)CellEditContext.CellValue)" ValueChanged="@(( v ) => OnEditValueChanged(v))" ReadOnly="@Readonly" />
}
else if ( ValueType == typeof( long ) )
{
    <NumericEdit TValue="long" Value="@((long)CellEditContext.CellValue)" ValueChanged="@(( v ) => OnEditValueChanged(v))" ReadOnly="@Readonly" />
}
else if ( ValueType == typeof( long? ) )
{
    <NumericEdit TValue="long?" Value="@((long?)CellEditContext.CellValue)" ValueChanged="@(( v ) => OnEditValueChanged(v))" ReadOnly="@Readonly" />
}
else if ( ValueType == typeof( bool ) )
{
    <Check TValue="bool" Checked="@((bool)CellEditContext.CellValue)" CheckedChanged="@(( v ) => OnEditValueChanged(v))" ReadOnly="@Readonly" />
}
else if ( ValueType == typeof( bool? ) )
{
    <Check TValue="bool?" Checked="@((bool?)CellEditContext.CellValue)" CheckedChanged="@(( v ) => OnEditValueChanged(v))" ReadOnly="@Readonly" />
}
else if ( ValueType == typeof( DateTime ) )
{
    <DateEdit TValue="DateTime" Date="@((DateTime)CellEditContext.CellValue)" DateChanged="@(( v ) => OnEditValueChanged(v))" ReadOnly="@Readonly" />
}
else if ( ValueType == typeof( DateTime? ) )
{
    <DateEdit TValue="DateTime?" Date="@((DateTime?)CellEditContext.CellValue)" DateChanged="@(( v ) => OnEditValueChanged(v))" ReadOnly="@Readonly" />
}
else if ( ValueType == typeof( DateTimeOffset ) )
{
    <DateEdit TValue="DateTimeOffset" Date="@((DateTimeOffset)CellEditContext.CellValue)" DateChanged="@(( v ) => OnEditValueChanged(v))" ReadOnly="@Readonly" />
}
else if ( ValueType == typeof( DateTimeOffset? ) )
{
    <DateEdit TValue="DateTimeOffset?" Date="@((DateTimeOffset?)CellEditContext.CellValue)" DateChanged="@(( v ) => OnEditValueChanged(v))" ReadOnly="@Readonly" />
}
else if ( ValueType == typeof( string ) )
{
    <NumericEdit TValue="decimal" Value="@((decimal)CellEditContext.CellValue)" ValueChanged="@(( v ) => OnEditValueChanged(v))" ReadOnly="@Readonly" />
}